• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp13
r3wp170
total:183

results window for this page: [start: 1 end: 100]

world-name: r4wp

Group: #Red ... Red language group [web-public]
Kaj:
10-Oct-2012
You probably need to check out master, then cherry-pick the BNF file 
from v0.3.0, then make your change, then do the pull request for 
master
DocKimbel:
17-Oct-2012
I'm perfectly fine with the current BSD/BSL licensing model we use 
for Red. I don't see the need for any change there for now.


I'm not sure what you mean precisely with "product". I don't see 
why third-parties redistributing the current Red compilers would 
have problem distributing a copy of the BSD license with them. For 
end-user binaries, users have no obligations to give a copyright 
reference or distribute a copy of the license.


If you are wondering about including possible future R3 code parts 
under APL-2 in Red codebase, I see no problem with that so far (as 
long as they are separate files or modules, we don't want to start 
having several licenses per file).
Marco:
10-Mar-2013
I suggest to change the relaive part of "Readme.md" to:

Running the Red/System hello script
------------------------

1. From the REBOL console type:

    `call/show ""` ; (type this only once to fix Rebol 2 bug)

    `change-dir %red-system/`

2. Type: 

    `do/args %rsc.r "%tests/hello.reds"`
	

    the compilation process should finish with a `...output file size` 
    message.


3. The resulting binary is in `red-system/builds/`, go try it! type 
(on Windows):

    `call/wait/shell/console %builds/hello.exe`
DocKimbel:
12-Jun-2013
I'm not sure that you can just change a driver file "in place" after 
each recompilation. I'm wondering if you need to deinstall the old 
one and install the new one each time...
DocKimbel:
18-Jul-2013
Also, to be able to see any output in DOS console from an encapped 
Rebol app, I needed to change a flag in the executable file (sub-system: 
`console` instead of `GUI`).
Group: Announce ... Announcements only - use Ann-reply to chat [web-public]
Robert:
11-Jan-2013
I'm happy to announce our next Android release. Cyphre did a great 
job and pushed the port further forward. Here are the highlights 
of the new release:

-added full file access
-added networking
-added console user input (ASK etc. works)
-improved threading (at the app level, not R3)
-misc small internal changes in the console code


With this it's possible to run R3 chat on your Android phone :-) 
Here is how to do it:

make-dir %/mnt/sdcard/r3/
change-dir %/mnt/sdcard/r3/
chat


The paths might be a bit different on your device. The trick is to 
use the /sdcard path and put everything below it.

The link is as always:

http://development.saphirion.com/experimental/R3droid.apk

Again, thanks to all who made a donation for this project!
Group: Ann-Reply ... Reply to Announce group [web-public]
Cyphre:
6-May-2013
Hello MaxV: Congrats to your first R3GUI app! ;-) I have some questions/notes 
though:

1. Why one needs to download the two DLL files to get R3B running?? 
(not much user friendly IMO)


2. On your Blog page you say: "First of all there are some bugs, 
most of them depends on R3GUI, for example this one: https://github.com/angerangel/r3bazaar/issues/8"

I bet this is not related to R3GUI at all but more to your R3B build. 
The REQUEST-FILE works without any problems in our Saphirion build 
(and I think also the "official" Carl's build works well but haven't 
tried it). I tried to download and run your R3B binary and I can 
confirm the bug is related only to this version so it would be fair 
enough if you remove your R3GUI blaming from the blog entry if possible. 
I know R3GUi is not perfect so maybe you can just change the blame 
for some other which is really related to the framework. Or better 
feel free to ask any questions in RgGUI group here!

3. I've looked into the EDITOR function code and comparing to the 
R3 editor code (which is still twice as big as the R3GUI version 
- but I don't know if they match the features though) the R3GUI code 
looks much cleaner and abstracted that the R2 style even if you are 
not expereienced writing R3GUI apps. Some notes:


3.1 I'm curious why are you accessing the internal AREA style value 
like face/names/tb or aa/names/tb/state/value? Is that for some reason? 
Why you don't use the AREA directly like:
do-actor/style face 'on-key arg 'area
instead of
do-actor/style face/names/tb 'on-key arg 'text-box

or

write (to-file AA-INFO/OPTIONS/text-edit) get-face aa


write (to-file AA-INFO/OPTIONS/text-edit) aa/names/tb/state/value 


3.2 There is "classic" but anoying bug. If you open file requester 
and close it without selecting a file the editor errors out. (but 
you probably already noticed)


3.3 Would be great if you add keyboard shortcuts. It's easy to add 
them. See the layouts-15.r3 file in R3GUI Saphirion package as an 
example.


3.4 Maybe you could try to write your first R3GUI style - MENU It 
would be handy in the editor(and also in other apps) instead of the 
buttons on top.


Anyway, thanks for promoting R3 and R3GUI. I appreciate all your 
efforts!
Group: Rebol School ... REBOL School [web-public]
Arnold:
7-Jun-2012
When I use rename function to rename a file, the file date on my 
Mac OS X changes too. When I change a name using finder, carefully 
clicking the file and renaming it, the date does not change. Doe 
sthis happen on other platforms too? How to steer this behaviour?
Arnold:
23-Jun-2012
I have a problem renaming files. rename does not change the filename 
on MacOSx. In the terminal it is no problem but in my script the 
filenames are not changed.

            fileo: to-file rejoin [what-dir add-suffix naam-oud-z-ext extensie]
            filen: to-file add-suffix naam-oud-z-ext extensie
            rename fileo filen

I have tested with probe that the types are ok and with the resulting 
values for fileo and filen the rename command worked like a charm. 
Any more ideas what is happening and how to debug this further? Thanks.
Arnold:
23-Jun-2012
In the original script I use a change-dir to get into the right directory. 
Then renaming is just the rename filename newname. I stuffed the 
renaming into a function and changed the variable names. Everywhere 
but in this place where I wanted to rename the file for real and 
I forgot to change old to new.... so here I tried debugging it while 
using the complete path and filename, because I was afraid there 
could be an issue there.
Group: Databases ... group to discuss various database issues and drivers [web-public]
Pekr:
12-Nov-2012
Create 2 files. Call the first one e.g. cgi-test.html, and upload 
it to your server. The only thing you have to change is the link 
to your .cgi script in there:

<HTML>
<TITLE>Simple Web Form</TITLE>
<BODY>
<b>Simple Web Form</b><p>
<FORM ACTION="http://www.xidys.com/cgi-bin/cgi-test.cgi">
<INPUT TYPE="TEXT" NAME="Field" SIZE="25"><BR>
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Submit">
</FORM>
</BODY>
</HTML>



Create a second file, called cgi-test.cgi (it has to align to how 
you name it in the above source file). Upload it to your cgi working 
directory. Remember to change the first line to contain the path, 
where your REBOL executable is placed:

#!/usr/local/bin/rebcmd -sqc

REBOL []

print join "Content-type: text/plain" newline
start: now/time/precise

submitted: decode-cgi read-cgi
values: construct submitted

prin "Submitted: " print mold submitted
prin "values: " print mold values
prin "values/field: " print mold values/field

print now/time/precise - start
print newline
 

Now go to your URL, and try to submit some values. You can test it 
on my site at: http://www.xidys.com/cgi-test.html
Group: !REBOL3 ... General discussion about REBOL 3 [web-public]
DideC:
13-May-2013
Basically this files are like .INI file and I have to change values 
inside with Rebol.
Group: !R3 Building and Porting ... [web-public]
AdrianS:
4-Feb-2013
Just so happens that I have a CB project file for the official source 
layout, if you want it. There's also a little change to make-make.r 
that you'll need t make for which he's made a pull request.

https://github.com/rebol/r3/pull/77

world-name: r3wp

Group: !AltME ... Discussion about AltME [web-public]
Maxim:
31-Mar-2005
1.  link tasks with the calendar

2.  "clear all" a simple button which removes red color of all groups. 
usefull when skipping a few days...

3.  HIDE groups (and users).  just add simple check mark to  window 
which lists all available groups and any you check-off are removed 
from the list you look at (yet you still receive their posts, if 
you want to look at them another time).

4.  per group moderators for private AND public groups (delete posts, 
insert posts, manage users, etc.   A part from "opting out", users 
are not able to change the setup (like deleting the group), group 
name, list of users in private group, etc ).  

5.  single file export of all selected task lists and their tasks 
(ascii or html)

6.  SORT task list... we cannot sort the task lists... only the tasks 
they contain... a real bitch when working with others...

7.  Also allows read-only mode for private groups for people not 
in private users list.   Great to manage announcements for private 
tools.
8.  'workdays only - weekend only' option for calendar

9.  properly support hours in calendar tasks, so that hours are always 
available, right now, the software often ignores any data we put 
in the hours field..
PeterD:
6-Apr-2007
I found an entry in the %pref-chat.txt file. (font-size: 15) A change 
here helps until I click a or A.
Suggest definition of 2 fonts something like this:
font-size-a: 15
font-size-A:20
Pekr:
21-Dec-2007
Edgaer pointed me two times to the same link. Reading thru all the 
 text twice, it does not answer any question. The link rather stupidly 
suggests to users, that you have to be admin etc etc. and more or 
less describes, how to change default program. Did that, xy times. 
Did that for each one possible file suffix. Once again - file system 
worked all fine, it is just AltME, having problems.
Gregg:
2-May-2008
I think I found the trick to serving multiple worlds, even if they 
weren't set up correctly at first. In the info file in %altme/servers/<your-world>/, 
change 5400 to, e.g., 5401. When you start the world again, it seems 
to use that port. I haven't tried it with a shortcut start yet.
amacleod:
29-Jan-2009
IS ther a way to change the permissions to a shared file/folder after 
its been uploaded. I set it up for 'myself' not realizing it would 
not be available on other computeres I signed onto. I should have 
made it abvailable to my user name I guess.
Gregg:
2-Jun-2009
I also have CDR for change-dir+to-rebol-file.
Pekr:
28-Dec-2009
btw - debug file did not change ...
Will:
19-Jan-2010
osx10.6.2/intel it says "A change has occurred that requires you 
to download a newer version of the software. Download it now?" than 
it says this file is not found http://www.altme.com/download/altme025
Group: RAMBO ... The REBOL bug and enhancement database [web-public]
Romano:
22-Feb-2005
Anton, that are the results of standard split-path that i replicated.The 
only difference is in %"" which gives an error on split-path and 
that result on split-path-3. I have some problems on how path are 
splitted by split-path in some cases, but to change them is a problematic 
thing, because all handlers knows how split-path works and get their 
decisions on it. I am not sure that the better result is [%./ none] 
in the %"" example, because the starting path (%"") is a file of 
name "" like in the %"a" example, where the starting path is a file 
of name "a". In the other 2 examples (%/ %.) the starting path is 
a DIR not a file (and the file is "exactly" none).
Gregg:
27-Aug-2005
RT is re-prioritizing things as they go, because the community will 
get excited about certain things, so it's good go consider putting 
a little time in on those. Other tasks have larger implications and 
take a lot of time to design and code. The /direct issue is a good 
example because they don't want to break file handling code (which 
is used in *many* scripts), nor do they want to just dump in a quick 
change and make matters worse in the long run.
Maxim:
27-Nov-2006
especially since it didn't even change the content of the user.r 
file... but now it accepts it?
Group: Core ... Discuss core issues [web-public]
shadwolf:
14-Jan-2005
in my 3D engine I will make a switch to change the animation that 
are into my model that supose for me to have all my 3D model to get 
the identical set of animation or to make animation switch that could 
be adapted to every 3D Model Type (that's why 3D engeneers not even 
more use this format and prefert bone animation based file format 
like MDL or MD3/MD5)
Geomol:
16-Aug-2005
cd: func ['dir [file! word!] ][change-dir dirize to-file dir]

Now it's possible to type e.g.:
cd ..
cd rebol/view
etc.
Geomol:
16-Aug-2005
cd: func ['dir [file! word! path!] ][change-dir dirize to-file dir]

NOW it's possible.
Geomol:
16-Aug-2005
Question to myself: Why didn't I just write:
cd: func ['dir][change-dir dirize to-file dir]


There are many ways to write almost the same thing in REBOL with 
differenct side-effects. Good or bad!? I'm not sure, but it's fun! 
:-)
Geomol:
16-Aug-2005
Another version, that will get to back to system/options/path, if 
'cd' has no argument:


cd: func ['dir [any-type!][either value? 'dir [change-dir dirize 
to-file dir][change-dir system/options/path]]
Anton:
31-Aug-2005
Maybe you can read a file directly from the share, but it looks like 
you can't access it because you can't CHANGE-DIR to it ?:

http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-display-thread.r?m=rmlPCHJ
Henrik:
12-May-2006
is it possible to change file permissions via FTP with rebol?
Oldes:
31-May-2006
I found the problem, you have this:

{Server error: tcp 550 Can't change directory to} thru {:} {No such 
file or directory}
but my ftp server's response is only:

Server error: tcp 550 httpdocs/test/1/2/: No such file or directory
Group: Script Library ... REBOL.org: Script library and Mailing list archive [web-public]
Gabriele:
25-Aug-2006
the image and css files where not done by me, and although i had 
some suspects while uploading them to rebol.org i didn't want to 
change everything just for that :) i can add a zip file to the package 
if you need me to.
Ammon:
8-Mar-2009
Sunanada, I have another question for you.  While I was poking around 
the library earlier I noticed that I have named some of my scripts 
very poorly and would like to change the FILE: value in the header, 
which apparently just creates a new copy of the script.  Is there 
a way to remove the old script such that I really am renaming the 
script rather than uploading a new one?
Anton:
15-Mar-2009
Sunanda, you're right about that ascii-math.r file. When I clicked 
the [Download script] link, the browser (konqueror) downloaded and 
directly opened it with the editor (SciTE). SciTE thought it was 
8-bit ascii, and showed the characters incorrectly. All I had to 
do was change the file encoding from 8-bit to utf-8 and the characters 
appeared correctly. I guess the editor had no way of determining 
the encoding, and incorrectly guessed 8-bit ascii.
Anton:
16-Mar-2009
Which editors?

I think most editors these days allow manually changing the encoding, 
so developers who notice strange characters can just change it themselves.

Maybe it would be helpful to add a rebol.org library script header 
advertising the encoding (when it is known, and when not).

I don't recommend 'de-UTF-8'ing files on download - that's just going 
to confuse things more, especially when the file is view-script.r'd 
as utf-8 just beforehand.
Anton:
17-Mar-2009
Ok, so there are some editors which don't support unicode, don't 
guess encoding correctly, or can change encoding only with difficulty.

How about this suggestion; if a rebol.org script is known to be UTF-8, 
then an additional link should appear:

[Download as ASCII] download-a-script?script-name=ascii-math.r&encoded-as=8-bit-ascii
which transcodes a UTF-8 file to ASCII.
Just have to get a conversion function in place for this to work.
Anton:
22-Jul-2010
Sunanda, how did you change the simetrics matching? (I noticed there 
were several algorithms in the simetrics.r file, so I suppose you 
 selected a better one.)
Group: I'm new ... Ask any question, and a helpful person will try to answer. [web-public]
Gregg:
11-May-2009
REBOL []

do %include.r
include %file-list.r


flash-wnd: flash "Finding test files..."

if file: request-file/only [
    files: read first split-path file
]
if none? file [halt]

items: collect/only item [
    foreach file files [item: reduce [file none]]
]

unview/only flash-wnd



;-------------------------------------------------------------------------------
;-- Generic functions

call*: func [cmd] [
    either find first :call /show [call/show cmd] [call cmd]
]

change-each: func [
    [throw]

    "Change each value in the series by applying a function to it"

    'word   [word!] "Word or block of words to set each time (will be 
    local)"
    series  [series!] "The series to traverse"

    body    [block!] "Block to evaluate. Return value to change current 
    item to."
    /local do-body
][
    do-body: func reduce [[throw] word] body
    forall series [change/only series do-body series/1]

    ; The newer FORALL doesn't return the series at the tail like the 
    old one

    ; did, but it will return the result of the block, which is CHANGE's 
    result,
    ; so we need to explicitly return the series here.
    series
]

collect: func [
    "Collects block evaluations." [throw]
    'word
    block [block!] "Block to evaluate."
    /into dest [block!] "Where to append results"
    /only "Insert series results as series"

    /local fn code marker at-marker? marker* mark replace-marker rules
][
    block: copy/deep block
    dest: any [dest make block! []]

    fn: func [val] compose [(pick [insert insert/only] not only) tail 
    dest get/any 'val

        get/any 'val
    ]
    code: 'fn
    marker: to set-word! word
    at-marker?: does [mark/1 = marker]
    replace-marker: does [change/part mark code 1]
    marker*: [mark: set-word! (if at-marker? [replace-marker])]
    parse block rules: [any [marker* | into rules | skip]]
    do block
    head :dest
]

edit-file: func [file] [
    ;print mold file

    call* join "notepad.exe " to-local-file file ;join test-file-dir 
    file
]

flatten: func [block [any-block!]][
    parse block [

        any [block: any-block! (change/part block first block 1) :block | 
        skip]
    ]
    head block
]

logic-to-words: func [block] [

    change-each val block [either logic? val [to word! form val] [:val]]
]

standardize: func [

    "Make sure a block contains standard key-value pairs, using a template 
    block"
    block    [block!] "Block to standardize"
    template [block!] "Key value template pairs"
][
    foreach [key val] template [
        if not found? find/skip block key 2 [
            repend block [key val]
        ]
    ]
]

tally: func [

    "Counts values in the series; returns a block of [value count] sub-blocks."
    series [series!]
    /local result blk
][
    result: make block! length? unique series

    foreach value unique series [repend result [value reduce [value 0]]]
    foreach value series [
        blk: first next find/skip result value 2
        blk/2: blk/2 + 1
    ]
    extract next result 2
]


;-------------------------------------------------------------------------------

counts: none

refresh: has [i] [
    reset-counts
    i: 0
    foreach item items [
        i: i + 1
        set-status reform ["Testing" mold item/1]
        item/2: random/only reduce [true false]
        show main-lst
        set-face f-prog i / length? items
        wait .25
    ]
    update-counts
    set-status mold counts
]

reset-counts: does [counts: copy [total 0 passed 0 failed 0]]

set-status: func [value] [set-face status form value]

update-counts: has [pass-fail] [
    counts/total: length? items

    pass-fail: logic-to-words flatten tally collect res [foreach item 
    items [res: item/2]]
    ;result (e.g.): [true 2012 false 232]
    standardize pass-fail [true 0 false 0]
    counts/passed: pass-fail/true
    counts/failed: pass-fail/false
]

;---------------------------------------------------------------


main-lst: sld: ; The list and slider faces
c-1:           ; A face we use for some sizing calculations
    none
ml-cnt:        ; Used to track the result list slider value.
visible-rows:  ; How many result items are visible at one time.
    0

lay: layout [
    origin 5x5
    space 1x0
    across

    style col-hdr text 100 center black mint - 20

    text 600 navy bold {

        This is a sample using file-list and updating progress as files are
        processed. 
    }
    return
    pad 0x10

    col-hdr "Result"  col-hdr 400 "File" col-hdr 100
    return
    pad -2x0

    ; The first block for a LIST specifies the sub-layout of a "row",

    ; which can be any valid layout, not just a simple "line" of data.

    ; The SUPPLY block for a list is the code that gets called to display

    ; data, in this case as the list is scrolled. Here COUNT tells us

    ; which ~visible~ row data is being requested for. We add that to 
    the

    ; offset (ML-CNT) set as the slider is moved. INDEX tells us which
    ; ~face~ in the sub-layout the data is going to.

    ; COUNT is defined in the list style itself, as a local variable 
    in
    ; the 'pane function.
    main-lst: list 607x300 [
        across space 1x0 origin 0x0
        style cell text 100x20 black mint + 25 center middle
        c-1: cell  cell 400 left   cell [edit-file item/1]
    ] supply [
        count: count + ml-cnt
        item: pick items count
        face/text: either item [
            switch index [
                1 [

                    face/color: switch item/2 reduce [none [gray] false [red] true [green]]
                    item/2
                ]
                2 [mold item/1]
                3 ["Edit"]
            ]
        ] [none]
    ]

    sld: scroller 16x298 [ ; use SLIDER for older versions of View

        if ml-cnt <> (val: to-integer value * subtract length? items visible-rows) 
        [
            ml-cnt: val
            show main-lst
        ]
    ]
    return
    pad 0x20
    f-prog: progress 600x16
    return
    status: text 500 return
    button 200 "Run" [refresh  show lay]
    pad 200
    button "Quit" #"^q" [quit]
]

visible-rows: to integer! (main-lst/size/y / c-1/size/y)

either visible-rows >= length? items [
    sld/step: 0
    sld/redrag 1
][
    sld/step: 1 / ((length? items) - visible-rows)
    sld/redrag (max 1 visible-rows) / length? items
]

view lay
Group: Make-doc ... moving forward [web-public]
MikeL:
31-May-2005
Paul, 


For what you have described, you may want to use navigation like 
that provided 

by a java script outline tree. One example is http://www.treemenu.net/
  


My plan is to soon make a make-doc revision that takes as input the 
NoteREB data from the
script by Alain Goye.   http://alain.goye.free.fr/rebol/NoteReb.r

Then generate an html site using the same tree structure as the NoteREB 
source file. 

Each page from the NoteREB data file is to be make-doc'ed into a 
separate HTML page.


NoteREB uses a very simple REBOL block structure to hold the content 
and sub-blocks.


If you want to change a page, change the source page, save the file, 
and click the new

reGEN button.  Alain's tree makes the management of the source much 
easier than methods
I had been using before.


I have used this approach for taking easy vid format and making an 
easy vid presentation 

format.  That means that it makes VID faces for each page and allows 
the execution of sample

code by clicking on it. Seems to work well and I plan to put it on 
the script library 
after View 1.3 is released and I can verify it works OK there.
Group: PDF-Maker ... discuss Gabriele's pdf-maker [web-public]
Gabriele:
3-Apr-2006
it is possible, but not trivial; you don't actually need to change 
the pdf file, just append to it; however you need to parse it to 
do this correctly.
Gabriele:
3-Apr-2006
(the xref generator in the pdf maker only works for the main xref 
of the file, not the change xrefs, but it should be easy to change 
it to generate a change xref)
Janeks:
31-Jul-2006
REBOL/View 1.3.50.3.1 14-Oct-2005 Core 2.7.0
Copyright 2000-2005 REBOL Technologies.  All rights reserved.
REBOL is a trademark of REBOL Technologies. WWW.REBOL.COM
>> change-dir winpath-to-file "C:\rebol\scripts\pdf_maker"
== %/C/rebol/scripts/pdf_maker/
>> do %pdf-maker.r
>> myLayPdf: layout-pdf [[textbox ["This is some text."]]]
** Script Error: Cannot use add on none! value
** Where: make-pages
** Near: pid: (2 * length? pages) + i
foreach
>>
Janeks:
2-Aug-2006
There was a reason - already forgot it.

The only thing in user.r was the function above (except set-net) 
- and I removed it ;-)
But:
REBOL/View 1.3.2.3.1 5-Dec-2005 Core 2.6.3
Copyright 2000-2005 REBOL Technologies.  All rights reserved.
REBOL is a trademark of REBOL Technologies. WWW.REBOL.COM
>> change-dir to-rebol-file "C:\rebol\scripts\pdf_maker"
== %/C/rebol/scripts/pdf_maker/
>> do %pdf-maker.r
>> myLayPdf: layout-pdf [[textbox ["This is some text."]]]
** Script Error: Cannot use add on none! value
** Where: make-pages
** Near: pid: (2 * length? pages) + i


Could it be connected with that I am starting rebol with view.exe 
-i ?
Gabriele:
5-Aug-2006
you have to parse it out and rebuild it. (or at least recreate some 
objects and append them as a change, but then you have both the original 
and the new version in the file)
Group: Parse ... Discussion of PARSE dialect [web-public]
BrianH:
6-Nov-2008
Here's an example of what you could do with the PARSE proposals:

use [r d f] [ ; External words from standard USE statement
    parse f: read d: %./ r: [
        use [d1 f p] [ ; These words override the outer words
            any [
            ; Check for directory filename

                (d1: d) ; This maintains a recursive directory stack
                p: ; Save the position

                change [ ; This rule must be matched before the change happens

                    ; Set f to the filename if it is a directory else fail
                    set f into file! [to end reverse "/" to end]
                    ; f is a directory filename, so process it
                    (

                        d: join d f ; Add the directory name to the current path

                        f: read d   ; Read the directory into a block
                    )
                    ; f is now a block of filenames.
                ] f ; The file is now the block read above
                :p  ; Go back to the saved position
                into block! r ; Now recurse into the new block
                (d: d1) ; Pop the directory stack
            ; Otherwise backtrack and skip
                | skip
            ] ; end any
        ] ; end use
    ] ; end parse
    f ; This is the expanded directory block
]
BrianH:
6-Nov-2008
Here's an revised version with more of the PARSE proposals:

use [r d res] [ ; External words from standard USE statement
    parse res: read d: %./ r: [
        use [ds f] [ ; These words override the outer words
            any [
            ; Check for directory filename

                (ds: d) ; This maintains a recursive directory stack
                [ ; Save the position through alternation

                    change [ ; This rule must be matched before the change happens

                        ; Set f to the filename if it is a directory else fail

                        set f into file! [to end reverse "/" to end]

                        ; f is a directory filename, so process it
                        (

                            d: join d f ; Add the directory name to the current path

                            f: read d   ; Read the directory into a block
                        )
                        ; f is now a block of filenames.
                    ] f ; The file is now the block read above
					fail ; Backtrack to the saved position
					|
					into block! r ; Now recurse into the new block
				]
                (d: ds) ; Pop the directory stack
            ; Otherwise backtrack and skip
                | skip
            ] ; end any
        ] ; end use
    ] ; end parse
    res ; This is the expanded directory block
]
Tomc:
15-Apr-2010
try this way, with one replace  change may be more efficent , with 
2 replaces bith would need to be in the sccond half of the file , 
with three in the last third ,with 4 the last quarter ...so although 
there may exist pathological cases where it is more efficent it is 
best not to cater to them.  there  may also be an argument  for not 
allocating twice as much memory but iby the time your file is that 
large you are already running into problems (in r2 at least)
Group: MySQL ... [web-public]
Dockimbel:
3-Dec-2008
The change I did on [Fri 21:21] version on the way SQL requests with 
multiples statements are sent to the server, might not be a good 
idea for sending big SQL batch files to the server.  The previous 
method (slicing SQL requests and sending them one by one to the server) 
wasn't that bad (could allow streaming the reading of a big SQL file 
from disk). Maybe it should be good to let the user choose how the 
driver should send multiple SQL queries.
Group: Linux ... [web-public] group for linux REBOL users
Pekr:
2-Aug-2006
I expected that once I am running rebpro -cs, I can write to files 
too .... I tried to change location of sqlite.log file, to cgi-bin, 
where write should be allowed, but still not luck. Maybe I just need 
specific Apache dir directive setting to allow that? Dunno .... so 
I commented out logging - just 4 lines or so .... I will try Ashley's 
suggestion for setting it to dev\nul ...
Graham:
17-Dec-2006
request-file: func [

    {Requests a file using a popup list of files and directories.} 
    /title "Change heading on request." 
    title-line "Title line of request" 
    button-text "Button text for selection" 
    /file name "Default file name or block of file names" 
    /filter filt "Filter or block of filters" 
    /keep "Keep previous settings and results" 
    /only "Return only a single file, not a block." 
    /path "Return absolute path followed by relative files." 
    /save "Request file for saving, otherwise loading." 
    /local where data filt-names filt-values
][
    if none? out start-out 
    either file [

        either block? name [picked: copy name] [picked: reduce [to-file name]]
    ] [
        if not keep [picked: copy []]
    ] 
    if none? picked [picked: copy []] 
    if file: picked/1 [where: first split-path file] 
    while [not tail? picked] [
        set [name file] split-path first picked 
        either name <> where [remove picked] [
            change picked file 
            picked: next picked
        ]
    ] 
    picked: head picked 
    if any [not where not exists? where] [where: clean-path %.] 
    if not keep [
        fp/data: head fp/data 
        so/data: head so/data 
        si: 1
    ] 
    either filter [
        filters: either block? filt [filt] [reduce [filt]]
    ] [if any [not keep not block? filters] [pick-filter]] 
    ff/text: form filters 
    tt/text: either title [copy title-line] ["Select a File:"] 
    ob/text: either title [copy button-text] ["Select"] 
    if all [
        error? done: try [
            filt-names: copy head fp/data 
            filt-values: copy filter-list 
            either filter [
                insert head filt-names "Custom" 
                insert/only filt-values filters
            ] [
                filt-names: at filt-names index? fp/data
            ] 
            done: local-request-file data: reduce 

            [tt/text ob/text clean-path where picked filt-names filt-values found? 
            any [only] found? any [save]] 
            if done [
                dir-path: data/3 
                picked: data/4 

                if not filter [fp/data: at head fp/data index? data/5]
            ] 
            done
        ] 
        (get in disarm done 'code) = 328
    ] [
        done: false 
        read-dir/full either where [where] [dir-path] 
        show-pick 
        inform out 
        unfocus
    ] 
    if error? done [done] 
    if all [done picked any [path not empty? picked]] [
        either path [
            done: insert copy picked copy dir-path 
            either only [done/1] [head done]
        ] [
            foreach file picked [insert file dir-path] 
            either only [picked/1] [picked]
        ]
    ]
]
Anton:
17-Dec-2006
request-file: func [

    {Requests a file using a popup list of files and directories.}
    /title "Change heading on request."
    title-line "Title line of request"
    button-text "Button text for selection"
    /file name "Default file name or block of file names"
    /filter filt "Filter or block of filters"
    /keep "Keep previous settings and results"
    /only "Return only a single file, not a block."
    /path "Return absolute path followed by relative files."
    /local where
][
    if none? out start-out
    done: false
    either file [

        either block? name [picked: copy name] [picked: reduce [to-file name]]
    ] [
        if not keep [picked: copy []]
    ]
    if none? picked [picked: copy []]
    if file: picked/1 [where: first split-path file]
    while [not tail? picked] [
        set [name file] split-path first picked
        either name <> where [remove picked] [
            change picked file
            picked: next picked
        ]
    ]
    picked: head picked
    if any [not where not exists? where] [where: clean-path %.]
    if not keep [
        fp/data: head fp/data
        so/data: head so/data
        si: 1
    ]
    either filter [
        filters: either block? filt [filt] [reduce [filt]]
    ] [if any [not keep not block? filters] [pick-filter]]
    ff/text: form filters
    tt/text: either title [copy title-line] ["Select a File:"]
    ob/texts/1: either title [copy button-text] ["Select"]
    read-dir/full either where [where] [dir-path]
    show-pick
    inform out
    unfocus
    if all [done picked any [path not empty? picked]] [
        either path [
            done: insert copy picked copy dir-path
            either only [done/1] [head done]
        ] [
            foreach file picked [insert file dir-path]
            either only [picked/1] [picked]
        ]
    ]
]
Anton:
27-Mar-2008
file-modes doesn't seem to have anything

>> print mold new-line/all/skip get-modes %Desktop get-modes %Desktop/ 
'file-modes on 2
[
    status-change-date: 26-Mar-2008/12:29:33+11:00
    modification-date: 26-Mar-2008/12:29:33+11:00
    access-date: 27-Mar-2008/13:29:25+11:00
    owner-name: "anton"
    group-name: "anton"
    owner-id: 1000
    group-id: 1000
    owner-read: true
    owner-write: true
    owner-execute: true
    group-read: true
    group-write: false
    group-execute: true
    world-read: true
    world-write: false
    world-execute: true
    set-user-id: false
    set-group-id: false

    full-path: %/home/anton/.wine/dosdevices/c:/windows/profiles/anton/Desktop
]
ManuM:
9-May-2009
Robert: I work with kubuntu 8.10 but I think that can help

This is one line from my "/etc/fstab" file. It mounts a fat filesystem 
at /media/DESARROLLO ( dir /media/DESARROLLO already exists )
/dev/sda7 /media/DESARROLLO vfat rw,utf8,umask=000 0 0

With umask=000 the access to /media/DESARROLLO will be rwxrwxrwx 
( the owner is root and the group is root, I don't know how to change 
it )
Geomol:
2-Sep-2009
I tried to change the agg script to point to a ttf font file under 
OS X. It doesn't display.
Maxim:
25-May-2010
I tried creating an empty user.r file in the rebol directory and 
in my user's home, but that didn't change anything.
Group: CGI ... web server issues [web-public]
RebolJohn:
18-May-2005
HELP w/ web rebol associations AND Rebol-View.
Here is the story..


On my PC, I have View pointing to an index.r file on my web server.
Everything is cool.

When I open up Rebol-View and traverse to my index.r on the server..
it works.


Now on the same server, I change the IIS-Web associations so that 
I can do rebol CGI.
I create a 'main.r' in some virtual directory on the server.
Web-ing to this http.//myserver/mydir/main.r   works GREAT!
CGI is working.


However, when I now open up Rebol-View on my local PC and traverse 
to my index.r which is
on the server.. I get an error.


The problem is that before.. rebol-view was requesting a file-download 
and the server sends it.

Now since IIS is doing '*.r' CGI, when rebol-view requests for the 
index.r download.. the server is processing the request
and attempting to send back html.. not a rebol file.


Is there any way of fixing this other than..

* changing the CGI association from '*.r' to something else  (ie. 
'*.rr')

* changing all my view-apps on the server from '*.r' to something 
else   (ie. '*.rr')
??
Josh:
23-Feb-2007
change-dir %blogs/
foreach file read %. [
		port: open file
    set-modes port [
        world-read: true
        world-write: true
        world-execute: true
    ]
    close port
]


But with my tired mind, and the no end of 500 errors, I must be forgetting 
something.
Gabriele:
23-Feb-2007
you can't change the owner of a file, unless you are root
Group: !Readmail ... a Rebol mail client [web-public]
Coccinelle:
5-May-2006
Phil,


when I use the "Check for Update" buton, their is no answer even 
if their is a new version. I believe that this is due to the first 
line of the readmail.ver file that is still Version: 4.12.6

Can you change this ?
Group: Web ... Everything web development related [web-public]
Anton:
26-Feb-2005
Geomol, READ-THRU is mainly for urls. READ-THRU file   operates almost 
just like  READ file. Anyway, I recommend just use READ, if you want 
the latest contents.  If it is true what you say, then it looks like 
there is some caching by Win98 or the driver for the shared drive. 
(So, outside rebol's control). However, perhaps you could force a 
sync by "touching" the file you are interested in reading first. 
By "touching" I mean use set-modes to change one of the file-modes, 
eg:
Graham:
8-Oct-2005
Because if I just browse to the pdf, Acrobat locks the file which 
prevents me from rewriting the file.  This way, I can rewrite, and 
Acrobat reloads it.  Also I avoid writing lots of temporary files 
if I were to change the file name to bypass Acrobat file locking.
Gabriele:
28-Aug-2010
In my approach, the mapping between the data and the "view" is defined 
by a dialect. I guess, one might want to make at least part of that 
mapping part of the view; this does not change the fact that the 
template file can then be simple HTML.

Formatting

 to me does not seem a templating issue though. It's about localization 
 and customization (different users will want different formats for 
 dates, and almost everything else). So, this is a completely separate 
 axis. As Carl often says... the problem is multidimensional, reducing 
 it just to "model" and "view" is not really going to work.
Group: Announce ... Announcements only - use Ann-reply to chat [web-public]
eFishAnt:
2-May-2006
Visit  http://www.TGD-Consulting.de/Download.htmland take a look 
at

the final release of Hex-It!. (I posted on behalf of Dirk Weyand, 
since he cannot reach AltME)


Hex-It! is a small but powerful hex-editor. You can use this tool 
to analyse
or alter the "fingerprints" for any kind of files.

Known first as a contribution to the REBOL Demo 2006 contest, the 
final
release with enhanced features is available now.
Features of Hex-It! v1.2.0:
---------------------------
* cross platform hex-editor

* free "save-feature" for small files sized lesser 15 KB, to edit 
larger
  files purchase a license-key that unlocks this limitation
* enhanced spot navigation with mouse scroll-wheel support
* non blocking file access 

* support of large files (a maximum chunk of 1MB file-data is only 
held in
  memory at once)
Some notes and useful tips & tricks on the usage of Hex-It!:
------------------------------------------------------------

- Modifications of files were automatically saved on exit, if you 
load

another file or if a different chunk of the same file is selected.
- Byte selection:

  + Select a byte with a left mouse button (LMB) click on the hexadecimal
    values to the left. The byte is highlighted then.

  + If a byte is selected, either use the cursor keys or the scroll-wheel 
  of
    the mouse to scroll through the bytes of the file.

  + Change a selected byte with plus (+) & minus (-) or just enter 
  its

    new value. Single characters, three digit numbers or single hexadecimal
    values are valid.

  + Use the right mouse button (RMB) to deselect a highlighted byte.
- Spot-navigation:

  + The spot specifies the index/position of a byte in the file. If 
  no byte

    is selected it shows the position of the top left byte displayed. 
  + Enter a number to set directly the spot to a byte-position.

  + Skip a certain amount of bytes relative to the current spot by 
  using

    plus (+) & minus (-), e.g. "+10000" skips 10000 bytes forward and
    "-1000" skips 1000 bytes backwards. 

  + Skip to end of file: Click with the RMB on the arrow-down Spot-button
    or use the "End"-Key.

  + Skip to first byte of file: Click with the RMB on the arrow-up
    Spot-button or use the "Home"-Key. 
- Seek:
  + ASCII- or Hex-Strings are valid queries.

  + LMB click on the "Seek"-button seeks from the current position.

  + RMB click on the "Seek"-button seeks from the beginning of the 
  file.

Please note, that the license of this release is not BSD like anymore.
Group: SDK ... [web-public]
Josh:
27-Jul-2006
This is totally fun.  I made new icons for an application and put 
them in with Resource Hacker (suggested by the documentation), but 
the icons change back and forth between mine and REBOLs based when 
I change the name of the .exe file.  Any explanation
Gabriele:
21-Sep-2006
yep... my file is gpl. it's ok for me to change to bsd too. so you're 
fine maxim. :)
Janko:
15-Jun-2009
ok .. encap or prerebol every time I make a change .. I could automate 
it so that when I want to text-run app I have some batch file that 
prerebols it and runs it instead of just runs it
amacleod:
3-Oct-2009
I notice the icon of my encapped application displays info about 
rebol -company name, file version etc...

Anyway to get my info and file version for the App in there? If so 
-  Can this be done when encapping or to I need to change it afterward. 
It it indeed the icon that holds this info?
Group: !RebGUI ... A lightweight alternative to VID [web-public]
Ammon:
8-Mar-2005
Right click just about any file and you can change the EXE that is 
associated with the file's extension so, potentially any version 
you like.
BrianH:
21-Jun-2005
Actually, in this case the SVG is the source and the Draw blocks 
are the "binaries". You can change the file names of the "binaries" 
and distribute the source SVG files in a seperate archive with their 
original file names.
shadwolf:
5-Oct-2005
I made some improvements in the list-view widget for rebgui  ^^ Now 
dynamc widget changes impact on data to be drawn (so when you change 
the state of a checkbox this impacts on the stored data) I make a 
generic callback funtion to allow ppl to save list data into a file 
 on changes. I make some estetical changes too 
I hope you will apreciate it  ^^
MichaelB:
30-Jan-2006
Ashley: what about adding in a radio-group in the rebgui-widgets.r 
file the line

pf/action pf

below the line ca. 1340 

face/action face

in the init section where the engage feel is defined. 

I needed to be able to execute the 'action function when the radio 
buttons change, but in the current implemention only the local action 
functions of the single buttons get evaluated, not the sourounding 
group. But if I'm right only for the parent level the action block 
can be defined, as the layout function only sets this block (if found). 
So either I missed a way even to set the functions for the single 
buttons (via normal means - no hacking) or it would be good to add 
at least the above shown line.


secondly some improvements which would be nice, what's everybodys 
opinion about this:

1. in order to be able to get a reference to a window - display should 
return the window-face

2. it should be optional whether the first window will be the parent 
of all other subsequently opened windows, as this affects the behavior 
of the order of view of the windows, eg. I can't bring the other 
windows completely to the front


it's no big deal to insert it into the code right now, but maybe 
it makes sense to have some of these options in general.

How to actually supply so small changes to the project ? Just posting 
them here - I guess so ?
Ashley:
20-Feb-2006
0.3.9 is out and it has a lot of fixes / enhancements. From a REBOL/View 
console:

	do http://www.dobeash.com/get-rebgui.r
	do view-root/public/www.dobeash.com/RebGUI/tour.r


The dictionary file has been removed from the distribution and the 
download path has been changed from:

	www.dobeash.com/files/rebgui -> www.dobeash.com/RebGUI


so you may want to delete view-root/public/www.dobeash.com in its 
entirety first to clean things up.


In addition to the large number of fixes ( http://www.dobeash.com/it/rebgui/issues.html#section-2.2
), a number of enhancements are documented here:

	http://www.dobeash.com/it/rebgui/display.html#section-2.1.7
	http://www.dobeash.com/it/rebgui/display.html#section-3.2.4
	http://www.dobeash.com/it/rebgui/display.html#section-3.2.5
	http://www.dobeash.com/it/rebgui/display.html#section-5.20

Also note the following:

	view-face is now activate-on-show by default

 Added a request-password requestor (its password widget problems 
 are known issues)
	group-box and tab-panel now auto-size

 Table column headings are now always left aligned and clicking the 
 arrow works

 Added an 'effects context (only window is present, but others like 
 'button, 'check, etc may be added in future)


And lastly, you will notice that %tour.r has a new "Appearance" tab 
where you can dynamically alter RebGUI's metrics, colors and effects. 
Note that some colors are still "hard-bound" at context creation 
and won't change - these will be made dynamic (via a set-colors func?) 
in the future. Apart from showing off RebGUI's dynamic scaling and 
display abilities, this lets you more easily prototype a unique look 
for your own apps if you want, and if you come up with a set of options 
that is truly fantastic then share it here and it may just become 
the new RebGUI default.

Enjoy!
Ashley:
30-Apr-2006
RebGUI 0.4.2 is up. Grab it the usual way with:

	do http://www.dobeash.com/get-rebgui.r


You may want to delete view-root/public/www.dobeash.com/RebGUI first 
as a number of old files are now redundant.

This build is the latest snapshot of the repository and includes:


 - %rebgui.r is now a single monolithic (72Kb single line) script 
 (individual source files are in SVN)
	- Cyphre's drop-list change
	- Anton's quit [not] when only one pane remains
	- clear-text and show-text fixes
	- led widget fix (failed when encap'ed)
	- language file for Italian added
	- %tour.r Opera icons replaced with Tango Desktop equivalents


Also note that the RebGUI home page has moved to http://www.dobeash.com/RebGUI/
and that all active issues / tickets can now be found (and updated) 
at http://trac.geekisp.com/rebgui/report/1
Ashley:
8-Dec-2006
hmm ... retract my being able to reproduce the problem. Change your 
locale.dat file to have the following:

words: [
	"AA:"	"A:"
	"BB:"	"B:"
]

and verify labels "AA:" and "BB:" are translated correctly.
Ashley:
19-Feb-2007
will you guys build downloadable file once you reach merged and kind 
of stable release?

 Last stable build is #46 available via the View desktop and here: 
 http://www.dobeash.com/download.html


Once the current changes "settle down" (i.e. at least a week or so 
passes without a major new issue/problem) I'll update the stable 
set.

161kB.. it's pretty large
 ... 30+ widgets tends to do that! ;)

I like the BTN style of button which is in Rebol by default

 ... Come up with an AGG (not image-based) equivalent or similar and 
 I'll gladly use that.


re: tabs (and button) look. My previous goal was to try and map the 
look as closely as possible to WinXP. This required a combination 
of images and complex draw commands. My goal now is to keep it as 
simple as possible, with a nice clean look that can be implemented 
with as few effects/draw commands as possible. Button is an example 
of that. Instead of using 3 images and changing them based on current 
button state, I now use a simple draw block and change a single value 
based on state. Note that the radius is customizable (via effects/radius). 
Does this produce the best looking button ever? No. But don't fault 
the technique, rather my [limited] AGG compositional skills! Feel 
free to come up with a better button algorithm.


tabs are another example, where yellow lines of varying length were 
drawn to approximate the WinXP tab look, and had to be cleared and 
redrawn based on state changes. The new approach uses a simple effect 
block ( [round color 5] )where all that needs changing on a state 
change is the color. Same deal as button applies. Come up with a 
simple draw block that creates a good looking tab and I'll gladly 
use that.
Group: XML ... xml related conversations [web-public]
Geomol:
11-Nov-2005
RebXML is meant for conversion to/from the RebXML format and other 
formats (incl. XML). I use the RebXML format with NicomDoc, which 
makes it a lot easier to handle document formats. Let's say, you've 
got an XML file, and want to convert it to a format easily read by 
some application, then you first use xml2rebxml to get the XML file 
to RebXML format. Then make a converter from RebXML to the final 
format by renaming the rebxml2xml script and change it to do the 
output, that is wanted. rebxml2xml holds the structure of the RebXML 
format, so it's easier to start with that script. Search for "output" 
in rebxml2xml.

Maybe I should make a converter from RebXML to some format very easily 
manipulated directly within REBOL, like the python tool, Carsten 
found.
Group: Rebol School ... Rebol School [web-public]
Vladimir:
26-Oct-2007
What could be problem with this script?

set-net [[user-:-mail-:-com] smtp.mail.com pop3.mail.com] 
today: now/date
view center-face layout [
		size 340x120
 		button "Send mail" font [size: 26] 300x80	[

    send/attach/subject [user-:-mail-:-com] "" %"/c/file.xls" reduce [join 
    "Today  " :danas]
 			quit
 		]
	]

I get this error:


** User Error: Server error: tcp 554 5.7.1 <[user-:-mail-:-com]>: Relay 
access denied
** Near: insert smtp-port reduce [from reduce [addr] message]

Could it be some security issue?

It worked with previous internet provider... A week ago we changed 
it and now this happens...

Should I contact my provider to change some security settings or 
should I change something in the script?
Group: RT Q&A ... [RT Q&A] Questions and Answers to REBOL Technologies [web-public]
Gabriele:
13-Oct-2005
Q: What does the world on Nov-15-2005 look like?


A: Our main goal is to get REBOL into the hands of more users, not 
just programmers and techies.... by the millions over time.  By doing 
that, we create a market for not only handy free REBOL apps, but 
also for commercial apps and entire businesses that are related to 
REBOL.



Q: Given that  window transparency is OS specific, will there be 
a dialect that covers both Windows, Linux and 40+ other OS?  In other 
words, does RT plan on continued support of so many languages, or 
are we entering a new era of specific OS support?


A: Our plan is to make that a window option that is part of the face/options 
for a window.  If an OS does not support this mode, then the option 
will be ignored, but the application will still be fully functional.



Q: I hope it is still valid that cooperation with RT is possible. 
I mean - last few weeks I play with some Win32 functions (thanks 
to Gregg) and I would like we would have proper app behavior in multi-monitor/multi-desktop 
environments .... so I wonder if any SIGs will be created, some ppl 
will be invited to participate, comment etc., or if RT is gonna cook 
it all themselves?


A: Yes, there are many such special interest projects currently going 
on. (Most of them are occurring via private projects in AltME and 
IOS.)  These days 90% of REBOL changes are done in cooperation with 
the REBOL community.



Q: Hi .... with recent Rebcode releases, we can see that internally 
new Core is marked as 2.7 and View is marked as 1.4 Is it just working 
"title" or will those products be marked as that? And if so, can 
we know, what other changes will go for 1.4 View release target? 
Will there be any AGG fixes/additions (to support SVG RebGUI progress), 
or even VID changes? I still think, that VID is missing few fine 
styles as tab, group-box, better list as was introduced on IOS Developer's 
server, (eventually tree, menu), to allow novices to start using 
VID/View more productively. Any chance RT can tell us, what is the 
plan for 1.4 release?


A: Regarding 2.7 and 1.4 question: we change the revision numbers 
(the second number) whenever there is a major change in REBOL that 
may be unstable.  The /core 2.7 kernel (that is in /view 1.4 as well) 
adds new datatypes to REBOL, and they are the first datatypes added 
in several years, so we consider this to be a major change, and marked 
it that way.
Yes, we do plan to be making a few AGG fixes very soon.

Oh, and regarding VID: we plan to be making very big changes there. 
More to come soon.


Q: Could you add struct! support to /Core?

I keep on having situations that would be made much easier by struct! 
when I don't need libraries. For instance, conversions from external 
binary data encodings to internal REBOL values, say for file formats, 
network protocols and so on. Now rebcode has added other forms of 
strong typing like the type-specific opcodes and the vectors. Having 
structs with their constrained field types, their specific data layouts, 
would be a perfect match for the low level operations of rebcode. 
They would be helpful later when implementing your own data types 
as well.


A: On structs: yes, we will enable this feature on core, but it should 
only be used for lower level code.  Objects are more powerful.


Q: Could you add an APPLY opcode to rebcode?

    apply: ["Apply function or path to arguments, save result" word! 
    word! | path! block!]

In rebcode:
    apply x f [arg1 arg2 ...]
Is equivalent to this in REBOL:
    x: do f arg1 arg2 ...


The advantage to doing function calls this way is that the arity 
of the opcode is fixed, even if the arity of the function called 
can't be known ahead of time. The value assigned to the function 
word could be either a function or a path, or for efficiency you 
could have a seperate opcode APPLYP for path values (I'd prefer just 
one opcode for generality but it's your call).


A: I'm not sure what is meant by the path for it. You mean for refinements?
That may actually slow down the apply interface.
Gabriele:
11-Dec-2005
Q: (note - my view may be influenced by insufficient knowledge in 
the area given) - last weeks I played with wrapping some Win32 functions. 
I started discussion on dll.so channel, to ask developers, if they 
would enhance interfacing to C libraries in some way, and there was 
few ideas appearing. We currently have also rather strange callbacks 
support (limited to 16) and I would like to ask, taking into account 
that DLL interface in Rebol was not changed/enhanced since it appeared 
long time ago, if RT sees any area in which it could be made more 
robust, developers friendly etc.?


A: We are planning to do a lot more on DLLs. In fact, future versions 
of REBOL will expand on the way DLLs are used in REBOL.   For example, 
I would like to see DLL support for media loaders and savers, so 
if we do not directly support a specific type of media file (say, 
TIFF) then an external DLL can be provided to load it.  There are 
a few other DLL related features down the road, but it is still a 
bit early to talk about them.



Q: I realize that the open sourcing of the viewtop wasn't that successful, 
but do you still intend to keep releasing newer versions of it? AFAIK 
the current release is over a year old. I've experienced a lot of 
obvious bugs in the viewtop editor, which I think can easily be solved 
by people outside RT.


A: yes we will continue to release newer versions.  View 1.3.2 fixed 
a number of bugs in the Viewtop editor that were listed in on RAMBO. 
Any fixes and enhancements from the community are greatly appreciated 
(by everyone, not only RT!)  You can post them to RAMBO, and we will 
review and include them (if they look good).



Q: While reviewing the action! functions, I noticed the path action. 
The doc comment says "Path selection.". The parameters aren't typed. 
Does anyone know what this action does, and how to use it? Or whether 
it can be or should be called directly at all?


A: the PATH action is what the interpreter uses to evaluate VALUE/selector 
expressions for each datatype. It is an internal action and has no 
external purpose in programs. These kinds of words often appear as 
a sort of "side-effect" from how REBOL is structured.  Datatypes 
are implemented as a sort of object class, where the interpreter 
"sends messages" to the class to evaluate expressions. The PATH action 
is a message that tells the datatype to perform a pick-like or poke-like 
internal function.


Q: Is rebcode going to support paths and/or some kind of binding?


A: Certain rebcode can support anything we feel is important to put 
into it, but note: many things we add could slow it down, by a lot. 
 For example, if we were to allow paths as variables, I estimate 
that rebcode would be about two times slower than it is now.  Perhaps 
one way to solve this issue is for you to use COMPOSE prior to specifying 
your rebcode body.  Within the compose, you can use IN object 'word 
to "pre-compute" the context references for words. For example:

    add.i (in object 'num) 10


Your question about binding is not clear to me. Rebcode already supports 
binding. Your rebcode can be part of an object context, and rebcode 
function words are bound to the code context.  (Perhaps you are referring 
to an older bug that has since been fixed?)



Q: What do you think about  http://mail.rebol.net/maillist/msgs/39493.html
? Why not say a word in your blog, if you think that it's interessant 
for rebol developpment, and if you want to contact them ?


A: Recently, I had the chance to sit down and talk with one of the 
main people from the One Laptop Per Child project (he is a friend 
of mine from Apple Computer days).  The project has an interesting 
goal, but there are also many difficult issues around it (not just 
in the technical side, but also on the social and cultural sides). 
My current understanding is that the target software is Smalltalk 
based. Yes, it would be very interesting to allow REBOL on that system, 
but if you look at the list of principals for the project, you will 
see that such a revolution is unlikely.  Is it possible that perhaps 
REBOL could provide some additional capability in the future? I think 
so. We have some special plans that I think will bring REBOL to platforms 
like that in the future. But, this is too early to say more.



Q: 1. What is fixed/added in 2.6.2/1.3.2 (change-log, please) ? 2. 
What is planned for 1.4.0 (rebcode, rebservices, rich-text, RIF, 
and last but not least, fixed sound ...) ? 3. When can we expect 
1.4.0 ? Thanks.


A: 1. Gregg is preparing a summary. The document should be available 
this week. 2. We are evaluating a large variety of changes in REBOL, 
more than even the 1.4 release that we've talked about.  I hope to 
be able to say more about these plans soon.
Group: Syncing ... Syncing technologies [web-public]
BrianH:
4-Jan-2006
By "for comparison purposes", I mean don't change the file date, 
just subtract the diff between you and UTC to get the adjusted file 
date in memory and then compare against the adjusted file date from 
the server.
Group: Tech News ... Interesting technology [web-public]
Terry:
14-May-2006
Jaime, just had a look at 'migrations' and it's not the same at all.. 
 here's the pseudo code just to change the db with rails..

    * Step 1: Create a migration with script/generate migration WhatImChanging
    * Step 2: Modify your generated migration file in db/migrate
    * Step 3: Run rake migrate

    * Step 4: Revel in the fact that your database is converted to the 
    newest schema!


With Framewerks you never alter the DB.. it's a black box where data 
goes in and out.
Group: SQLite ... C library embeddable DB [web-public].
Ashley:
15-Feb-2006
As I mentioned near the beginning of this thread, SQLite supports 
multiple database files each containing one or more tables - in fact 
they go so far as recommending that you separate multiple high-access 
tables out into different databases for concurrency reasons. In this 
sense, SQLite "databases" act more like traditional "tablespaces". 
So, if we wanted we could write our REBOL front-end so that it created/accessed 
each table in a database of the same name thus ensuring a one-to-one 
mapping between table names and database names. The advantages of 
this approach are:

	backups (only those tables that change need be backed up)

 external table administration (you can drop a table by deleting its 
 database file)

 concurrency (you spread your file locking across a greater number 
 of physical files)

Disadvantages:


 Administering your database is more cumbersome (you can't use the 
 sqlite3 admin tool to administer all tables in one session)

 Value of sqlite_master is diminished (you can't "select * from sqlite_master" 
 to report on all your tables in one query)

 Query references need to add a database prefix when referring to 
 a table not in their own database

 Name conflicts (all tables in one file means multiple databases can 
 use the same table names - the solution with multiple files would 
 be to segregate at the directory level)

 Multiple database files means you need to zip them prior to some 
 operations such as email attachment, etc


On balance, I actually prefer the one file / one database approach.


Pekr's other comments in relation to schema implementation also have 
merit (I've agreed with Pekr twice today - a new record!); I see 
the value of an ftp schema, an http schema, etc; but what value in 
a sqlite schema? Given that the entire schema can be written in a 
much more concise fashion as an anonymous context that exports a 
couple of key access functions to the global context; I can't see 
what the functional differences between the two implementations would 
be?


So, bar any good reasons to the contrary, these are the features 
of the implementation I am currently working on (a rough design spec 
if you like):

	Implemented as an anonymous context

 "Database" is a directory (which is specified when a database is 
 opened with 'open-db)

 Each table resides in a "tablespace" (aka SQLite database file) of 
 the same name
	File is automatically opened on first reference

 The /blocked refinement of 'db-open specifies that rows will be returned 
 in their own block (default is a single block of values)

 Non-numeric values (which SQLite stores natively as INTEGER and REAL) 
 will be subject to 'mold/all on insert and 'load on retrieval

 The /native refinement of 'open-db will turn this behaviour off (see 
 comments below)

 SQLite binding will be supported allowing statements such as ["insert 
 into table values (?,?,?)" 1 [bob-:-mail-:-com] "Some text"] and ["select 
 * from table where email = ?" [bob-:-mail-:-com]]


Whether to store values (including string!) as molded values in SQLite 
is an interesting question; on the one hand it gives you transparent 
storage and access to REBOL values – but at the performance cost 
of having to mold and load every TEXT value returned; and the storage 
cost of the overhead of a molded representation. On the other hand, 
if I only want to store numbers and strings anyway then I don't want 
this overhead. I think the only practical solution is a /native type 
option as detailed above.
Pekr:
1-Aug-2006
I did following modifications to driver:

log-path: to-file copy ""

then replace/all "%sqlite.log" "join log-path %sqlite.log"


then in my cgi script I am able to do sqlite/log-path: %db/ to change 
location ...... maybe it would be usefull to even set db path and 
don't bother with paths, not sure ....
Ashley:
4-Dec-2008
Robert, I was thinking we can depreciate the /create refinement by 
making that implict as well ... and the change required to support 
additional CONNECTs after the first should be as simple as changing 
the line that reads:

	all [dbid sql-error "Already connected"]

to something like:

	if all [dbid file? database]  [
		unless find file %/ [insert file what-dir]
		sql rejoin ["attach '" ...
		return
	]


which then raises the interesting question as to whether we should 
force database to be file! (so you'd have to attach multiple databases 
by issuing multiple CONNECTs ... it would certainly simply the CONNECT 
logic! ;)
Group: Postscript ... Emitting Postscript from REBOL [web-public]
Geomol:
24-Feb-2008
You say, you tried a local file, but did you change the load-image 
in postscript.r?
Geomol:
14-Oct-2008
With the change, I can produce a PS file, but I still can't see the 
image. Will try some stuff...
Group: Plugin-2 ... Browser Plugins [web-public]
Volker:
18-May-2006
would save code, if you did not need to change the file. Then
  load-thru url-of-online-html
would do the trick.
Dockimbel:
13-Oct-2006
.r files are treated as CGI script by default in Cheyenne. To change 
that, you have to edit the httpd.cfg file and change the following 
line :
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public]
Dockimbel:
2-Jun-2007
if you're using the odbc:// driver, like all RT's DB drivers, it 
requires a : first db-port to open the connection port, so you have 
to change the do-sql source a little bit (in %handler/RSP.r file), 
in do-sql source :
Pekr:
6-Jul-2007
content of windows/system32/drivers/etc/hosts file:

127.0.0.1       localhost
::1             localhost

- ping localhost works in shell window
- print read dns://localhost works in rebol
- change in mod-fastcgi did not help ...
Dockimbel:
12-Jul-2007
To enable the PHP support: edit the %httpd.cfg config file, uncomment 
the indicated section and change the path to the php-cgi binary, 
that's all. The new mod-extapp will launch and kill PHP for you.
Dockimbel:
25-Jul-2007
If you don't want to mess with the httpd.cfg file, it's a one-line 
fix, just change the following line in %mods/mod-fastcgi.r :
Dockimbel:
21-Dec-2007
Conf file is ok too, using the 'listen keyword. You should not change 
it directly in the source code (the HTTPd.r port-id value is override 
by the following line in %cheyenne.r : foreach p any [port-id [80]][control/start/only 
'HTTPd p]
Dockimbel:
10-Oct-2008
it's not yet exported in config file, but you can change the default 
value in %Cheyenne.r source code.
Dockimbel:
14-Oct-2008
Not sure that it can work with the current version. Cheyenne is using 
READ to get static and RSP files,  I have to change that to use the 
virtual file system in memory.
Dockimbel:
28-Mar-2009
The uploaded file is written on disk if it's size exceed 100'000 
bytes. You can change this default threshold value by using the 'post-mem-limit 
 keyword in virtual host configuration options (in %httpd.cfg).


Cheyenne can handle file uploads up to 2GB size with no noticeable 
impact on memory usage.


The temporary file is stored in an %incoming/ folder at Cheyenne's 
root. The file is deleted once the response is sent to the client, 
so in order to keep it, you have to rename it or copy it elsewhere.


You can use the %show.rsp sample script as target of a POST action 
to test it.
Maxim:
20-Jun-2009
and GUIs are a hell of a lot more complicated to maintain than text. 
 change one little thing in the file format and you've got to redesign 
alot of code... this doesn't happen with a file, since its being 
used directly.
amacleod:
2-Jul-2009
Any reason why cheyenne does not allow a .r file to be read via http? 
It seemed to work with apache. I had to change it to a .txt file 
to get it to work..after batting my head for many minutes.
Group: reblets ... working reblets (50-100 lines or less) [web-public]
Ammon:
1-Apr-2009
REBOL [
	File: %scramble.r
	Author: "Ammon Johnson"
	Email: [ammon-:-johnson-:-gmail-:-com]
	Version: 0.0.1
	History: [
		0.0.1 31-Mar-2009 "scrambles and descrambles code"
	]
]

scramble: context [
	words: []
	load-words: does [
		foreach word first system/words [
			add-word mold word
		]
	]
	add-word: func [
		word
		/local chars length
	][
		chars: charset word
		unless found? find words chars [repend words [chars copy []]]

  unless found? find words/:chars length: length? word [repend words/:chars 
  [length copy []]]
		length: select words/:chars length
		unless found? find length word [insert tail length word]
		word
	]
	get-word: func [
		word
		/local chars length
	][
		chars: charset word
		unless chars: select words chars [return "UNKNOWN"]
		unless length: select chars length? word [return "UNKNOWN"]
		random/only length
	]
	scramble: func [
		txt
		/local result
	][
		result: parse/all txt " "
		forall result [

   unless empty? trim copy result/1 [change result random add-word result/1]
		]
		form result
	]
	
	descramble: func [
		txt
		/local result
	][
		result: parse/all txt " "
		forall result [

   unless empty? trim copy result/1 [change result get-word result/1]
		]
		form result
	]
]
1 / 183[1] 2